package com.css.fxfzaqbz.modules.callJcData.repository;

import com.css.fxfzaqbz.base.response.RestResponse;
import com.css.fxfzaqbz.modules.callJcData.entity.Gasholder;
import com.css.fxfzaqbz.modules.callJcData.param.DataVersionPageParam;
import com.css.fxfzaqbz.modules.callJcData.param.GasholderQueryParams;
import com.css.fxfzaqbz.modules.callJcData.param.SysDataVersionPageParam;
import com.css.fxfzaqbz.modules.supergraph.entity.CqgDataEntity;
import com.css.fxfzaqbz.modules.supergraph.vo.GasholderBrVO;
import com.css.fxfzaqbz.modules.supergraph.vo.SourceOfDangerBrVO;

import java.util.List;
import java.util.Map;


public interface GasholderRepository {

    void save(Gasholder param);

    Gasholder findById(String id);

    void updateById(Gasholder param);

    void deleteById(String id);

    List<Gasholder> page(GasholderQueryParams param);

    Integer countForPage(GasholderQueryParams param);

    List<Gasholder> selectByIds(List<String> asList);

    List<Gasholder> exportExcel();

    String getCount();

    List<Gasholder> getDataByTypeAndVersion(SysDataVersionPageParam sysDataVersionPageParam);

    void byShpBatchSave(List<Gasholder> list);

    void deleteByVersion(String versionCode);

    void updateByLsVersion(String tempVersionCode,String dataVersion,Integer sf);

    List<Gasholder> getYwData(String versionCode);

    void updateLs(String versionCode, String tempVersionCode);

    void saveGasholderBr(GasholderBrVO gasholderBrVO);

    void deleteGasholderBr(String iaId,String dataVersion);

    List<Gasholder> getDataBySSQAndVersion(SourceOfDangerBrVO sourceOfDangerBrVO);

    Map<String, Object> getCqgDataVersion(CqgDataEntity cqgDataEntity);

    RestResponse getFyYwData(DataVersionPageParam dataVersionPageParam,String role);

    List<Gasholder> getGasholderNumByVersion(String versionCode);
}
